<?php
#### POPUP #####################################################################
class Popup {

	var $on_click_element;
	var $url;
	var $body;
	var $width;
	var $fade;

	#### CONSTRUCTOR ###########################################################
	function Popup() {
		Base::getThis();
	}

	#### ON CLICK ##############################################################
	function onClickElement($element) {
		$this->on_click_element = $element;
	}

	#### URL ###################################################################
	function url($url) {
		$this->url = $url;
	}

	#### WIDTH #################################################################
	function width($width) {
		$this->width = $width;
	}

	#### TEXT ##################################################################
	function body($string) {
		$this->body = $string;
	}

	#### FADE ##################################################################
	function fade($milliseconds) {
		$this->fade = $milliseconds;
	}

	#### POPUP #################################################################
	function output() {

		$return = NULL;

		// Run once!
		if (!isset($base->has_run)) {
			$base->has_run = TRUE;
			$return .= '
			<script src="media/javascript/jquery.popup.js" type="text/javascript"></script>
			<div id="popup">
				<span id="popup-close"></span>
				<div id="popup-area"></div>
				<div id="popup-text"></div>
			</div>
			<div id="popup-background"></div>
			<div id="popup-indicator"></div>';
		}

		if($this->url || $this->body) {
			$return .= '<script type="text/javascript">
				$(document).ready(function() {';
			if ($this->on_click_element) $return .= '$("'.$this->on_click_element.'").click(function(e) {
				e.preventDefault();
				$("#popup-text").html("");';
			$return .= '$.showBackgroundFade();';
			if ($this->width) $return .= '$("#popup").attr("style", "width: '.$this->width.'");';
			if ($this->url) $return .= '$("#popup-area").load("'.$this->url.'", function(){
				$.showPopup();
				});';
			else $return .= '$("#popup-area").html("'.$this->body.'");
				$.showPopup();';
			if ($this->on_click_element) $return .= '});';
			if ($this->fade)  $return .= 'setTimeout("$.hidePopup()", '.$this->fade.');';
			$return .= '});
			</script>';
		}

		return $return;
	}
}
?>